local role = require("role.Proto")
local bag = require("bag.Proto")

CG_GET_HORSE_INFO = { --得到坐骑信息
}

CG_HORSE_MOUNT_HORSE = { --上下马
}

GC_HORSE_STATUS = { --当前坐骑状态
  {"id", 1, "int"},     --坐骑id
  {"source", 1, "int"}, --坐骑形象
  {"status", 1, "int"}  --当前状态，1为在马上，0为未上马
}

CG_HORSE_LV_UP = { --坐骑升星和升阶
  {"type", 1, "int"}, --0为升星，1为升阶
  {"autoBuy", 1, "int"}, --是否自动购买道具,0为不自动购买，1为自动购买
  {"itemIndex", 1, "int"},  --道具索引，1为低级，2为中级，3为高级
}

CG_HORSE_JIHUO_HUANHUA = {  --激活幻化坐骑
  {"id", 1, "int"}
}

CG_HORSE_HUANHUA_HORSE = { --幻化坐骑
  {"id", 1, "int"}
}

HorseEquipInfo ={
  {"isGet", 1, "int"}, --是否拥有该装备，0未拥有，1已拥有
  {"curEquip", 2, bag.ItemData}, --当前装备
  {"nextEquip", 2, bag.ItemData}, --下一阶装备
  {"needItem", 4, bag.ItemData}, --坐骑装备合成所需道具
  {"needHorseLv", 1, "int"}, --坐骑装备合成所需坐骑等级
  {"needYinliang", 1, "int"}, --坐骑装备合成所需坐骑等级
}

horseInfo = {
  {"id", 1, "int"}, --id
  {"name", 1, "string"}, --名字
  {"image", 1, "int"}, --图标
  {"source", 1, "int"}, --形象
  {"isGet", 1, "int"}, --是否获得，0未获得，1已获得
  {"needLv", 1, "int"},                               --升阶所需等级  
  {"skill", 1, require("skill.Proto").SkillData}, --坐骑技能
  {"curAttr", 5, role.Attr},    --当前加成属性
  {"power", 1, "int"},  --战力
  {"xxCnt", 1, "int"}, --星星等级
  {"effect", 1, "int"}, --坐骑特效
  {"horseEquip", 5, HorseEquipInfo}, --坐骑装备属性
  {"horseEquipNeedYL", 1, "int"}, --坐骑装备提品所需银两
  {"feed", 1, "int"}, --是否已满，0未满，1已满
}

GC_HORSE_STAGE_LIST = {  --进阶坐骑列表
  {"list", 15, horseInfo},
  {"feedYinliang", 1, "int"}, --坐骑培养所需银两
}

huanhuaInfo = {
  {"id", 1, "int"},   --幻化坐骑id
  {"isGet", 1, "int"},--是否已得到，0为未得到，1为已得到
  {"name", 1, "string"}, --名字
  {"image", 1, "int"}, --图片显示
  {"source", 1, "int"}, --形象
  {"needItem", 1, bag.ItemData}, --需要道具
  {"needHorseLv", 1, "int"}, --需要铁骑等级
  {"curAttr", 20, role.Attr},    --当前加成属性                     
  {"power", 1, "int"},       --当前加成战力        
  {"skill", 1, require("skill.Proto").SkillData}, --坐骑技能 
  {"remainTime", 1, "int"},     --剩余时间
  {"getWay", 1, "string"},      --获得方式
  {"curTotalPower", 1, "int"},  --当前坐骑总战力
  {"nextAttr", 10, role.Attr},--下一星的所有坐骑属性
  {"nextPower", 1, "int"}, --下一星的所有坐骑战力
  {"needXXYinliang", 1, "int"}, --升级到下一星所需的银两
  {"needXXItem", 2, bag.ItemData}, --升级到下一星所需的道具
  {"xxCnt", 1, "int"},  --幻化坐骑星星数量
  {"effect", 1, "int"}, --坐骑特效
  {"horseEquip", 5, HorseEquipInfo}, --坐骑装备属性 
  {"horseEquipNeedYL", 1, "int"}, --坐骑装备提品所需银两
  {"feed", 1, "int"}, --是否已满，0未满，1已满
}
--铁骑装备提品
CG_HORSE_EQUIP_UPGRADE_QUALITY = {
  {"horseId", 1, "int"},--坐骑id
}
--铁骑装备合成
CG_HORSE_EQUIP_HECHENG = {
  {"horseId", 1, "int"}, --坐骑id
  {"equipId", 1, "int"},--装备合成
}

GC_HORSE_HUANHUA_INFO = { --幻化信息
  {"list", 20, huanhuaInfo},
}

GC_HORSE_UPDATE_HUANHUA = { --更新单个幻化信息
  {"info", 1, huanhuaInfo}
}

GC_HORSE_STAR_UP_ITEM_INFO = { --坐骑升星道具信息
  {"item", 3, bag.ItemData}
}

GC_HORSE_INFO = {
  {"curUpVal", 1, "int"},                             --当前升级值
  {"needUpVal", 1, "int"},                            --需要升级值
  {"starLv", 1, "int"},                               --星星等级
  {"stageLv", 1, "int"},                              --阶段等级
  {"multi", 1, "int"},                                --几倍暴击，为0表示非暴击
  {"StageUpItem", 1, bag.ItemData},                   --升阶道具信息
  {"curWishVal", 1, "int"},                           --坐骑当前祝福值
  {"needWishVal", 1, "int"},                          --坐骑所需祝福值
  {"curAttr", 20, role.Attr},                         --当前加成属性
  {"nextStarAttr", 20, role.Attr},                    --下一星加成属性
  {"nextStageAttr", 20, role.Attr},                   --下一阶加成属性  
  {"power", 1, "int"},                                --当前坐骑战斗力
  {"showRand", 1, "int"},                             --显示成功几率
  {"nextStarPower", 1, "int"},                        --下一星坐骑战斗力
  {"nextStagePower", 1, "int"},                       --下一阶坐骑战斗力
}

CG_HORSE_BATCH_USE_ITEM = { --批量使用道具升星
  {"cnt", 1, "int"},        --数量
  {"isAutoBuy", 1, "int"},  --是否自动购买，0为不自动购买，1为自动购买
  {"itemIndex", 1, "int"},  --道具索引，1为低级，2为中级，3为高级
}

horseCritInfo = {
  {"mutli", 1, "int"}, --几倍
  {"times", 1, "int"}, --几倍
}

GC_HORSE_BATCH_USE_ITEM = { --批量升星结果
  {"itemCnt", 1, "int"}, --道具数量
  {"totalExp", 1, "int"}, --累计获得经验
  {"times", 6, horseCritInfo},  --暴击信息统计
}
horseXXInfo = {
  {"stage", 1, "int"}, --等阶
  {"curAttr", 10, role.Attr}, --现在的属性
  {"curPower", 1, "int"}, --现在的战力
  {"nextAttr", 10, role.Attr},--下一星的属性
  {"nextPower", 1, "int"}, --下一星的战力
  {"needYinliang", 1, "int"}, --升级到下一星所需的银两
  {"needItem", 2, bag.ItemData}, --升级到下一星所需的道具
  {"xxCnt", 1, "int"}, --星星等级
}
GC_HORSE_XX_LIST = { --发送所有坐骑星星信息
  {"list", 10, horseXXInfo}
}

GC_HORSE_XX_UPDATE = { --返回指定等阶坐骑的下一星星属性
  {"info", 1, horseXXInfo}
}

CG_HORSE_XX_UP = { --指定等阶的坐骑升星星
  {"stage", 1, "int"}, --等阶
  {"huanhuaId", 1, "int"}, --幻化id
}

CG_HORSE_FEED_QUERY = {
  {"id", 1, "int"}, --坐骑ID
}
GC_HORSE_FEED_QUERY = {
  {"id",          1,   "int"},
  {"feedAttr",    8, require("role.Proto").Attr },  --属性  
  {"feedAddVal",  8, "double"}, -- 当前增加的属性，如果为-1 则满
}
CG_HORSE_FEED = {
  {"id", 1, "int"}, --坐骑ID
}

CG_HORSE_MULTI_FEED= {
  {"id", 1, "int"}, --坐骑ID
  {"cnt", 1, "int"}, --批量使用次数。
}
GC_HORSE_MULTI_FEED = {
  {"id", 1, "int"}, --坐骑ID
  {"cnt", 1, "int"}, --使用成功个数
}

horseHeight = {
  {"source", 1, "int"}, --坐骑形象
  {"height", 1, "int"}, --坐骑高度
}
GC_HORSE_HEIGHT = {
  {"heightInfo", 40, horseHeight},
}